﻿<%@ Page Language="C#" MasterPageFile="~/Template.master" AutoEventWireup="true" CodeFile="users.aspx.cs" Inherits="users" Title="Ghasam | User Management" %>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
 <div id="pnlShowUsers">
    <div class="title">
      مدیریت کاربران
    </div>
    <hr />
    <asp:GridView ID="gvMembership" runat="server" AllowPaging="True" AllowSorting="True"
                DataSourceID="dsMembership" PageSize="10" AutoGenerateColumns="false" DataKeyNames="UserName" OnRowDataBound="gvMembership_RowDataBound">
                <EmptyDataTemplate>
                    کاربری یافت نشد!
                </EmptyDataTemplate>
                <Columns>
                    <asp:BoundField DataField="Username" HeaderText="شناسه کاربری" />
                    <asp:BoundField DataField="Email" HeaderText="پست الکترونیکی" />
                    <asp:CheckBoxField DataField="IsLockedOut" HeaderText="غیرفعال"/>
                    <asp:TemplateField HeaderText="آخرین ورود به سیستم">
                        <ItemTemplate>
                            <%# Mani.Common.MyPersianDate.DateTimeToPersian(Convert.ToDateTime(Eval("LastLoginDate")))%>
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField>
                        <ItemTemplate>
                            <a href="users.aspx?username=<%# Eval("UserName") %>&mode=edit"><img src="App_Themes/<%=Page.Theme %>/images/Edit.gif" alt="" style="border:0px" /></a>
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField>
                        <ItemTemplate>
                           <asp:LinkButton ID="DeleteUser" runat="server" CausesValidation="False" CommandName="Delete">
                                <img src="App_Themes/<%=Page.Theme %>/images/delete.gif" alt="" style="border:0;" />
                          </asp:LinkButton>
                        </ItemTemplate>
                    </asp:TemplateField>
                </Columns>
    </asp:GridView>
    <asp:SqlDataSource ID="dsMembership" runat="server" ConnectionString="<%$ ConnectionStrings:LocalSqlServerInstance %>"
                SelectCommand="SELECT [UserName], [Email], [IsApproved], [IsLockedOut], [LastLoginDate] FROM [vw_aspnet_MembershipUsers]"
                DeleteCommand="aspnet_Users_DeleteUser" DeleteCommandType="StoredProcedure">
                <DeleteParameters>
                    <asp:ControlParameter Name="UserName" Type="String" ControlID="GridView1" PropertyName="SelectedValue" />
                    <asp:Parameter Name="ApplicationName" Type="String" DefaultValue="/" />
                    <asp:Parameter Name="TablesToDeleteFrom" Type="Int32" DefaultValue="15" />
                    <asp:Parameter Name="NumTablesDeletedFrom" Type="Int32" DefaultValue="0" />
                </DeleteParameters>
            </asp:SqlDataSource>
 </div>
 
 <div id="pnlAdd_EditUser">
    <div class="title">
      ایجاد / ویرایش کاربران
    </div>
    <div id="add_edit_user">
       <div>
            <asp:Label ID="lblMessage" SkinID="Message" runat="server" />
       </div>
        <ul id="for_insert">
            <li>
                <label>نام کاربر</label>
                <asp:TextBox ID="txtFullName" runat="server"></asp:TextBox>
                <asp:RequiredFieldValidator ID="rfvFullName" runat="server" ControlToValidate="txtUserName"
                    ErrorMessage="لطفا نام کامل شخص یا شرکت را وارد کنید"></asp:RequiredFieldValidator>
            </li>
            <li>
                <label>شناسه کاربری</label>
                <asp:TextBox ID="txtUserName" runat="server"></asp:TextBox>
                <asp:RequiredFieldValidator ID="rfvUsername" runat="server" ControlToValidate="txtUserName"
                    ErrorMessage="لطفا نام کاربری را وارد کنید"></asp:RequiredFieldValidator>
            </li>
            <li>
                <label>آدرس ایمیل</label>
                <asp:TextBox ID="txtEmail" runat="server"></asp:TextBox>
                <asp:RequiredFieldValidator ID="rfvEmail" runat="server" ControlToValidate="txtEmail"
                    ErrorMessage="لطفا آدرس ایمیل را وارد کنید"></asp:RequiredFieldValidator>
                <asp:RegularExpressionValidator ID="regexEmail" runat="server" ControlToValidate="txtEmail"
                    ErrorMessage="آدرس ایمیل وارد شده نادرست می باشد" ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"></asp:RegularExpressionValidator>
            </li>
            <li>
                <label>رمز عبور</label>
                <asp:TextBox ID="txtPassword" runat="server" TextMode="Password"></asp:TextBox>
            </li>
            <li>
                <label>تکرار رمز عبور</label>
                <asp:TextBox ID="txtConfirmPassword" runat="server" TextMode="Password"></asp:TextBox>
                <asp:CompareValidator ID="cvPassword" runat="server" ControlToCompare="txtPassword"
                    ControlToValidate="txtConfirmPassword" ErrorMessage="رمزهای عبور وارد شده مغایرت دارند"></asp:CompareValidator>
            </li>
          </ul>
        <ul>
            <li>
                <label>نقش کاربر</label>
                <asp:CheckBoxList ID="cblRoles" style="margin:5px; padding:5px; border:0" runat="server" BorderWidth="1" />
            </li>
        </ul>
        <ul id="forUpdate" visible="false" runat="server">
            <li>
                <label>تاریخ  ایجاد</label>
                <asp:Label ID="lblCreateDate" Text="-" runat="server"></asp:Label>
            </li>
            <li>
                آخرین تاریخ ورود به سیستم
                <asp:Label ID="lblLastLogin" Text="-" runat="server"></asp:Label>
            </li>
            <li>
                آخرین تاریخ تغییر رمز عبور
                <asp:Label ID="lblLastChangePass" Text="-" runat="server"></asp:Label>
            </li>
            <li>
                آخرین تاریخ غیر فعال شدن
                <asp:Label ID="lblLastLock" Text="-" runat="server"></asp:Label>
            </li>
            <li>
                <asp:CheckBox ID="checkIsLock" runat="server" Text="آخرین تاریخ غیر فعال شدن" />
            </li>
          </ul>
        <ul>
            <li>
                <asp:CheckBox ID="checkIsApproved" Checked="true" Text="تایید شده" runat="server" />
            </li>
            <li>
                <label>توضیحات</label>
                <br />
                <asp:TextBox ID="txtComment" runat="server" Style="width: 250px; height: 100px;"
                    TextMode="MultiLine"></asp:TextBox>
            </li>
           </ul>
        <div>
            <asp:Button ID="btnSubmit" CssClass="std_btn std_btn_small" runat="server" Text="تایید"
                OnClick="btnSubmit_Click" />
            &nbsp;&nbsp;&nbsp;&nbsp;
            <asp:Button ID="btnReset" CausesValidation="false" CssClass="std_btn std_btn_small" runat="server" Text="انصراف" OnClick="btnReset_Click" />
        </div>
    </div>
 </div>
</asp:Content>


